package com.pat.java.base.arithmetic;

/**
 * 最小公倍数
 * @author Pat
 */
public class LowestCommonMultiple {
	
	/*
	 * 如果有一个自然数a能被自然数b整除，则称a为b的倍数，b为a的约数.
	 * 最小公倍数:几个整数公有的倍数中最小的一个
	 * 最大公约数:指某几个整数共有约数中最大的一个
	 *
	 * 两个整数的最小公倍数与最大公约数之间有如下的关系:
	 * 最小公倍数 = 两个整数的乘积 / 最大公约数
	 * 
	 */
	
	private static void arithmetic(int n, int m){
		int product = n * m;
		if(m < n){	//确定大小关系 m > n
			int tmp = m;
			m = n;
			n = tmp;
		}
		while( n != 0){	//知道确定两数的最大公约数m
			int tmp = m % n;
			m = n;
			n = tmp;
		}
		
		System.out.println("greatest common divisor:"+m);
		System.out.println("lowest common multiple:"+(product / m));
	}

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		arithmetic(3,6);
	}
	
}